package defaulPackage;

import estrategia_Marcos.FreeFile;
import estrategia_Marcos.PremiumFile;

public class MAIN {
	public static void main(String[] args) {
		Facade facade = new Facade();

		User akira = new User("Edson Akira Ito", "edson@akira.com",
				new Profile("Akira", 39310750, Instrument.GUITARRA, Style.METAL), new Login("edson", "123321"));
		User marcos = new User("Marcos Alexandre Batista", "marcos@java.com",
				new Profile("Malaxandre", 13456576, Instrument.BATERIA, Style.POP), new Login("corinthians", "100"));
		User joao = new User("João de Souza", "joao_java@gmail.com",
				new Profile("Mc João", 60509874, Instrument.BATERIA, Style.ROCK), new Login("foofight", "rock2012"));
		
		facade.create(akira);
		facade.create(marcos);
		facade.create(joao);
		
		facade.login(new Login("edson", "123321"));
		
		facade.setTypeLimit(akira, new FreeFile());
		facade.addFile(akira, new Music("a", 23, "Bixeira"));
		facade.addFile(akira, new Music("a", 23, "Bixeira"));
		facade.addFile(akira, new Photo("a", 23, 100, 200));
		facade.addFile(akira, new Music("a", 23, "Bixeira"));
		facade.addFile(akira, new Music("a", 23, "Bixeira"));
		facade.addFile(akira, new Photo("a", 23, 100, 200));
		facade.addFile(akira, new Music("a", 23, "Bixeira"));
		facade.addFile(akira, new Music("a", 23, "Bixeira"));
		facade.addFile(akira, new Photo("a", 23, 100, 200));
		facade.pay(akira);
		facade.addFile(akira, new Photo("a", 23, 100, 200));
		facade.addFile(akira, new Photo("a", 23, 100, 200));
		facade.addFile(akira, new Photo("a", 23, 100, 200));
		
		
		facade.setTypeLimit(marcos, new FreeFile());
		facade.addFile(marcos, new Video("Vai sentando", 1990, "2:50"));
		facade.addFile(marcos, new Music("Empreguetes - Todo o dia toda hora", 2012, "Cheia de charme"));
		
		facade.setTypeLimit(joao, new PremiumFile());
		facade.pay(joao);
		facade.pay(joao);
		facade.addFile(joao, new Music("Te levo comigo", 2001, "Pesado"));
		facade.addFile(joao, new Music("Dr. online", 2012, "Pesado"));
		facade.addFile(joao, new Music("So rezo", 2009, "Pesado"));
		facade.addFile(joao, new Music("Te levo comigo", 2000, "Pesado"));
		
		facade.musicProfile(akira);
		facade.musicProfile(joao);
		
		facade.searchFile(akira, new Music("a", 23, "Bixeira"));

		facade.addFriend(akira, marcos.getProfile());
		facade.addFriend(akira, new Profile("Malaxandre", 13456576, Instrument.BATERIA, Style.POP));
		
		facade.addFriend(marcos, joao.getProfile());
		facade.addFriend(marcos, new Profile("Caroline Alburqueqe", 564738920, Instrument.GUITARRA, Style.METAL));

		facade.friends(akira);
		facade.friends(marcos);
		
		Band band = new Band("Bravo destemido", Style.METAL, 2012);
		band.addMember(marcos.getProfile());
		band.addMember(joao.getProfile());
		facade.addBand(akira, band);
		
		facade.getMembers(akira);

		Topic vaga = new Topic(akira.getProfile(), "Vagas!!!", "Contrata-se baterista");
		vaga.replay(marcos.getProfile(), "eu topo... adiciona eu como amigo!");
		vaga.replay(new Profile("Ceboso", 495948, Instrument.BAIXO, Style.ROCK), "affff");
		facade.createTopic(vaga);
		
		facade.getReplies(vaga);
		
		facade.createTopic(new Topic(marcos.getProfile(), "Teste", "Testando 01"));
		
		facade.allTopics();
		
		facade.searchTopic(akira);
		
	}
}